home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / libs / sphigs / sph_mac.hqx / SRGP port to 5.0 (compressed) / SRGP_SPHIGS Root / MacSRGP / Applications / testpaint.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-13  |  2.1 KB  |  84 lines

  1. #include "srgp.h"
  2. #include <stdio.h>
  3.  
  4. /* TEST OF LOCATOR SAMPLE MODE. */
  5.  
  6. /* Left button paints in red, middle in green, right in blue.
  7.    Multiple buttons lead to color mixing.
  8.  */
  9.  
  10.  
  11. #define DLM   deluxe_locator_measure
  12.  
  13. #include "testpaint.proto.h"
  14.  
  15. int
  16. LocatorMeasuresEqual(DLM first, DLM second)
  17.  
  18. {
  19. return (
  20.  
  21.     (first.position.x == second.position.x) && 
  22.     (first.position.y == second.position.y) &&
  23.  
  24.     (first.button_chord[0] == second.button_chord[0]) &&  
  25.      (first.button_chord[1] == second.button_chord[1]) &&  
  26.      (first.button_chord[2] == second.button_chord[2]) &&
  27.  
  28.          (first.modifier_chord[0] == second.modifier_chord[0]) &&  
  29.      (first.modifier_chord[1] == second.modifier_chord[1]) &&  
  30.      (first.modifier_chord[2] == second.modifier_chord[2]) 
  31.   );
  32. }
  33.  
  34. DLM
  35. WaitForAnyChange (DLM original)
  36. {
  37.    DLM    retval;
  38.  
  39.    SRGP_sampleDeluxeLocator(&retval);
  40.    while ( LocatorMeasuresEqual(original, retval) )
  41.       SRGP_sampleDeluxeLocator(&retval);
  42.  
  43.    return(retval);
  44. }
  45.  
  46. main(void)
  47. {
  48.    DLM locmeasure;
  49.    int col;
  50.  
  51.    SRGP_begin ("Painting application", 800,800,3,FALSE);
  52.  
  53.    SRGP_loadCommonColor (0, "black");
  54.    SRGP_loadCommonColor (1, "blue");
  55.    SRGP_loadCommonColor (2, "green");
  56.    SRGP_loadCommonColor (3, "cyan");
  57.    SRGP_loadCommonColor (4, "red");
  58.    SRGP_loadCommonColor (5, "magenta");
  59.    SRGP_loadCommonColor (6, "yellow");
  60.    SRGP_loadCommonColor (7, "white");
  61.  
  62.  
  63.    SRGP_setLocatorEchoType (CURSOR);
  64.    SRGP_setFillStyle(BITMAP_PATTERN_OPAQUE); 
  65.    SRGP_setLocatorButtonMask
  66.       (LEFT_BUTTON_MASK | MIDDLE_BUTTON_MASK | RIGHT_BUTTON_MASK);
  67.    SRGP_setInputMode(LOCATOR, SAMPLE);
  68.  
  69.    while (1) {
  70.       SRGP_sampleDeluxeLocator (&locmeasure);
  71.       col = 0;
  72.       if (locmeasure.button_chord[LEFT_BUTTON]==DOWN) col += 4;
  73.       if (locmeasure.button_chord[MIDDLE_BUTTON]==DOWN) col += 2;
  74.       if (locmeasure.button_chord[RIGHT_BUTTON]==DOWN) col += 1;
  75.       if (col > 0) {
  76.      SRGP_setColor (col); 
  77.      SRGP_setFillBitmapPattern (col); 
  78.      SRGP_fillRectangleCoord
  79.         (locmeasure.position.x-5, locmeasure.position.y-5,
  80.          locmeasure.position.x+5, locmeasure.position.y+5);
  81.       }
  82.    }
  83. }
  84.